package org.demo.solr.util;

import java.util.Date;

import org.demo.solr.bean.SolrBean;
import org.demo.solr.bean.SolrBeanVo;
import org.springframework.cglib.beans.BeanCopier;

/**
 * cglib 要比反射快很多 
 * object to object的几种实现方式
 * 1、反射 
 * 2、get set （最快）
 * 3、apache beanUtil 底层用的内省，内省底层用的反射
 * 4、cglib
 * @author litianyi
 *
 * 2015年11月10日
 */
public class BeanCopy {

	public static void main(String[] args) throws InstantiationException, IllegalAccessException {
	
	 BeanCopier beanCopier = BeanCopier.create(SolrBean.class, SolrBeanVo.class, false);
	 
	 SolrBean bean = new SolrBean();
	 bean.setId(1);
	 bean.setTvName("四大名捕");
	 bean.setCreateTime(new Date());
	 
	 Object obj = SolrBeanVo.class.newInstance();
	 beanCopier.copy(bean, obj, null);
	 
	 System.out.println(obj.toString());
	 
	}

}
